package com.glsc.ngateway.opmanage;

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EntityScan(basePackages = {"com.glsc.ngateway.common.base.domain"})
@ComponentScan(basePackages = {"com.glsc.ngateway.opmanage", "com.glsc.ngateway.common.base",
        "com.glsc.ngateway.common.api.common", "com.glsc.ngateway.common.api.ldap", "com.glsc.ngateway.common.api.oaflow",
        "com.glsc.ngateway.common.api.flowable", "com.glsc.ngateway.common.api.platform"})
@EnableFeignClients(
        basePackages = {"com.glsc.ngateway.opmanage.service.feign"},
        basePackageClasses = {
                com.glsc.ngateway.common.api.ldap.feign.IFeignLdapService.class,
                com.glsc.ngateway.common.api.oaflow.feign.IFeignOaFlowService.class,
                com.glsc.ngateway.common.api.flowable.feign.IFeignFlowableService.class,
                com.glsc.ngateway.common.api.shortmsg.feign.IFeignShortmsgService.class
        })
@SpringBootApplication
@EnableSwagger2
@EnableKnife4j
@EnableAsync
public class OpmanageApplication {
    public static void main(String[] args) {
        SpringApplication.run(OpmanageApplication.class, args);
    }
}
